package com.lzs.esubscribe.utils;

import com.lzs.esubscribe.dto.UrlListDTO;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@Component
public class TreeUtils {
    /**
     * 确定所有根节点
     *
     * @param list
     * @return
     */
    public List<UrlListDTO> findRoot(List<UrlListDTO> list) {
        List<UrlListDTO> rootList = new ArrayList<>();
        for (UrlListDTO node : list) {
            if (node.getParent() == null || node.getParent().length() == 0) {
                rootList.add(node);
            }
        }
        return rootList;
    }

    public UrlListDTO findChild(UrlListDTO root, List<UrlListDTO> list) {
        for (UrlListDTO node : list) {
            if (node.getParent() != null && node.getParent().equals("") == false && node.getParent().equals(root.getUuid())) {
                // 递归
                root.addChild(findChild(node, list));
            }
        }
        return root;
    }
}
